In deduplication technology, redundancy detection and duplicated data mapping table management may be performed. The redundancy detection may be a method of verifying whether data currently requested to be stored is identical to previously stored data, and performed using a fingerprint method. In particular, a hash value, for example, a secure hash algorithm 1 (SHA-1) or a message-digest algorithm 5 (MD5) of stored data blocks are calculated. A hash value of data block requested to be stored may be calculated and then, compared to the hash value of the stored data blocks. When a redundancy is detected, information indicating that the data requested to be stored is duplicated to the stored data may be recorded on a mapping table, in lieu of actual data.
However, a performance load may occur in a process of calculating the SHA-1 hash value used to detect the duplicated data. An amount of time for calculating the SHA-1 hash value at 4 kilobytes (kB) is described with reference to FIG. 1.
In an example, SHA-1 performance load in a microcontroller may be described with reference to FIG. 1.
Approximately 6212 microseconds (μsec) may be required in a micro-blaze, 5772 μsec may be required in an ARM7, 813 μsec may be required in an ARM9, and 80 μsec may be required in an operation performed by hardware. Many SSDs may operate based on the ARM7 in general. Approximately 1400 μsec may be required based on a writing speed of a multi-level cell (MLC) type flash memory. However, 5772 μsec may be required to calculate the SHA-1 hash value in the ARM7. Thus, when hash values are calculated in response to all requests, use of a solid state disk (SSD) may be inefficient despite an advantage of a speed higher than that of hard disk. Accordingly, there is a desire for a method of extracting an SHA-1 value in response to only a request having a high duplication probability.